Conventional electronic information technology networks and systems are often designed to be scalable to manage access to, and messaging with, a plurality of uniquely distinguishable and separately addressable data structures, such as nodes within a network or a database. Certain conventional networks of nodes and connections sometimes, i.e. a graph structure, consist of nodes of one or more types generally having binary connections of one or more type with varying cardinalities. Each binary connection joins together exactly two nodes. The cardinality possibilities of the plurality of binary links between nodes within a network or database may include one-to-one, one-to-many, many-to-one, or many-to-many.
Prior art algorithms describe how to find the shortest path between two nodes within a network, e.g. travel routes within a road network, usually with a constraint related to each link, such as the distance between each node or the time taken to travel between specific pairs of nodes. Such node pathway-determination algorithms are currently used in certain navigation systems and telecommunications networks, but these prior art pathway determination-algorithms can also be applied to Internet and webservice data sources and social networks.
Prior art node pathway-determination algorithms generally assume that the cardinality of the connections is always many to many, or of one type only, and that there is only one type of connection. A hybrid information technology network might represent the interrelationships noted among road, canal, railway and commercial flight connections, wherein there network identifies nodes of more than one type and more than one type of binary links between various node pairs. The present invention is drawn toward hybrid networks.
In the prior art, information that codifies a hybrid network may be stored within one or more relational databases, object oriented databases, and federated database. It is understood that a federated database is a database that is distributed and deployed through out a plurality of computers of an information technology network. An exemplary information technology network may be, include, or partially include, the Internet, an intranet, an extranet, a telephony network, and/or a wireless telephony network.
The relational and object-relational models for data of information technology systems are very powerful in conventional configurations of database management systems (“DBMS”). More particularly, relational databases store data in tables, wherein each table includes at least one column and all entries within each column are of a same type. Each row of a relational database table consists of at least one column. Relationships between rows are either defined (a.) implicitly by the presence of a field with the same content in the rows, e.g. a Customer_ID field in a Customer table and also in a Product Order table, or (b.) explicitly in a separate “join” table that, for example, has rows with a Customer_ID and a Product_Order_ID in them.
Database queries can be structured to enable retrieving representations of information (“data”). In object-oriented database systems (“OODBMS”) relationships between objects are expressed by object identifiers that specify an individual software object, and link attributes of the link formed when a first software object references an object identifier of a second software object.
Queries are generated and applied in a relational database using a structured query language (“SQL”). An SQL statement is a command that explicitly describes what data is to be retrieved from or stored in the relational database system as a result of the statement, but leaves up to each system the mechanisms and sequence of operations for producing the desired result. Several database management systems that accept SQL statements are commercially available at the time of this writing.
In an OODBMS, data may be stored in one or more data containers. The term container is used to refer to any set of data that is processed as a set of one or more records, e.g., software objects (“objects”), each record being organized into one or more fields. In relational database systems, the containers are called “relations” or “tables,” the records are referred to as “rows,” and the fields are referred to as “columns,” and each table has a fixed number of columns. In an object-relational database a column can be associated with an object type that is made-up of several attributes.
Based on the foregoing, there is a clear need for techniques to improve the efficiency of performing queries within a hybrid network, wherein the existence of more than one type of record and more than one type of link may be exploited.
The past approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not to be considered prior art to the claims in this application merely due to the presence of these approaches in this background section.